compio_runtime\fd\async_fd/
windows.rs1use std::os::windows::io::{
2 AsRawHandle, AsRawSocket, FromRawHandle, FromRawSocket, RawHandle, RawSocket,
3};
4
5use compio_driver::AsFd;
6
7use super::AsyncFd;
8
9impl<T: AsFd + AsRawHandle> AsRawHandle for AsyncFd<T> {
10 fn as_raw_handle(&self) -> RawHandle {
11 self.inner.as_raw_handle()
12 }
13}
14
15impl<T: AsFd + AsRawSocket> AsRawSocket for AsyncFd<T> {
16 fn as_raw_socket(&self) -> RawSocket {
17 self.inner.as_raw_socket()
18 }
19}
20
21impl<T: AsFd + FromRawHandle> FromRawHandle for AsyncFd<T> {
22 unsafe fn from_raw_handle(handle: RawHandle) -> Self {
23 unsafe { Self::new_unchecked(FromRawHandle::from_raw_handle(handle)) }
24 }
25}
26
27impl<T: AsFd + FromRawSocket> FromRawSocket for AsyncFd<T> {
28 unsafe fn from_raw_socket(sock: RawSocket) -> Self {
29 unsafe { Self::new_unchecked(FromRawSocket::from_raw_socket(sock)) }
30 }
31}